home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 011 / admin.lqr / ADMIN.DOC next >
Text File  |  1985-06-03  |  19KB  |  418 lines

  1.                              Dr. Bob's Utilities
  2.                   A Company Devoted to Testing Your Integrity
  3.  
  4. ADMIN.DOC ** V1.0   1-19-85 **
  5.  
  6. If you use this program regularly and would like to contribute to my
  7. efforts and support work on future utilities -
  8.  
  9.                             Send $20.00
  10. to:
  11.  
  12. Dr. Bob's Utilities
  13. 444 Maple Lane
  14. St. Paul MN, 55112        (let me know of other utilities you would like)
  15.  
  16.  
  17.  
  18.  
  19.                          Dr. Bob's Utilities
  20.  
  21. Notice:  Version E of DR. Bob's Admin RBBS utilities is now
  22. available to registered user of earlier versions (and to anyone who
  23. is willing to become a registered user).
  24.  
  25. The admin utilities handle most of your RBBS sub-directory maintenance
  26. and can save you MANY hours of tedious work.  The utilities expand your
  27. filenames, insert the current date, and sort files alphabetically or
  28. by date without screwing up your file headers.  In normal use, you simply
  29. type "MAINTAIN" and the maintain.bat file takes over.  You are shown each
  30. line in your upload directory and asked which subdirectory files it should
  31. be sent to.  That's it!  Everything else is automatic.
  32.  
  33.  
  34.                     *****   NEW FEATURES   *****
  35.  
  36. Some features of the new version:
  37.  
  38.      -  Handles files up to 1 meg. in size
  39.      -  Includes the POST program which replaces STREW
  40.      -  Handles directory files with plain english names
  41.      -  Puts today's date on files in the upload directory
  42.      -  Accepts a flag to specify the column the date is in
  43.      -  Safer, more reliable, sometimes faster file handling
  44.  
  45. Registered users of earlier versions may send a $5.00 update fee
  46. to receive the new version by return mail.
  47.  
  48. Non-registered users may send $20 to become registered users and
  49. receive the new version by return mail.
  50.  
  51. The new version is customized with the registered users name appearing
  52. each time it is run so it will not be available for public downloading.
  53. Earlier versions will continue to be available on the boards.
  54.  
  55.  
  56. Registered users will receive information about new uses, updates, new utility
  57. programs, etc. They may also ask questions by mail or
  58.  
  59. Until 6/3/85:            Terrapin Station BBS
  60.                              612  623-1156
  61.                        (A truly magnificent BBS).
  62.                HOURS: weekdays after 6 pm CST  - weekends 24 hrs
  63.  
  64. *****************************************************************************
  65.  
  66. NEW TERRAPIN HOURS AND PHONE -- AFTER JUNE 3, 1985
  67.     HOURS -- 24 HOURS, 7 DAYS A WEEK
  68.     PHONE -- 612/623-0152
  69.  
  70. *****************************************************************************
  71.  
  72.  
  73. Leave Terrapin RBBS messages for Bob Ray (me).
  74.  
  75. A new release is planned which should be a significant improvement over this
  76. one.  One change will be that most of the .EXE files of this version will be
  77. combined into one program.  This new release will assume that your system is
  78. working with the current versions so it can make assumptions about the format
  79. of your directories. It will also include various other goodies. Once I have
  80. some indication of support for my efforts (people become registered users),
  81. I will finish the new version and release it.
  82.  
  83.  
  84. ******************************************************************************
  85. ADMIN:
  86.      These programs in conjunction with STREW.EXE do almost all of your RBBS
  87. directory maintenance. To do your maintenance you simply type:
  88.  
  89. MAINTAIN ALPHADIR DATEDIR
  90.  
  91.              where ALPHADIR is the name of your alphabetical master directory
  92.              and   DATEDIR is the name of you date-sorted  master directory.
  93.  
  94. DISCLAIMER:
  95.      These utilities have no bugs that I know of (although you can easily
  96. produce some apparent bugs if you don't read this document carefully).
  97. They are sold without warranty of any kind.  Use them at your own risk.
  98.  
  99. THE FIRST TIME:
  100.     Before you use these utilities, do a COPY DIR??.* DIR??.BAK
  101.        (safety first).  After you are COMPLETELY convinced that
  102. things are ok, you can delete the .BAK files.
  103.  
  104. Then do the following:
  105.  
  106. 1.  Your directory headers, (if any) must have a character in the
  107.     left-most column that has an ASCII value less than 48.  The
  108.     space, | * < > and : characters are all fine.  If you
  109.     have a header made of just text, the easiest solution is to use a
  110.     text editor to insert a space at the beginning of each line.
  111.     Other good choices for the first character are | and *.
  112.     Otherwise your header will be sorted along with your filenames,
  113.     and may be trashed by various of these utilities.
  114.  
  115. 2.  Your should run EXP.EXE on all your RBBS sub-directories if you
  116.     want to use expanded filenames.  Otherwise your filenames
  117.     will become inconsistent.  This only needs to be done once.
  118.  
  119. 3.  If you have used anything other than a "-" as a the delimiter
  120.     in your dates, use a text editor to change to "-".
  121.  
  122. 4.  If your upload directory is not called DIR99, rename it to DIR99.
  123.  
  124. 5.  These utilities will behave unpredictably on files with Tabs in them.
  125.     Remove all tabs before running any of these programs.  Tabs are
  126.     visible in FRED (although FRED tends to go crazy when you use it on
  127.     files with tabs in them).
  128.  
  129. 6.  If you don't have master directories and would like them, do the following:
  130.  
  131.       COPY DIR10+DIR20+DIR30 MASTER  (using the names of your files)
  132.  
  133.             You probably don't want to include DIR99. This file (MASTER)
  134.             will have your headers at various points throughout.
  135.             If you have multiple line descriptions of some files, you
  136.             will need to do some work to prevent them from being split
  137.             up or re-ordered during sorting. The easiest method is to
  138.             eliminate them.  If you feel you must have multiple line
  139.             descriptions, you can preserve them by using the complete file
  140.             name for each line and doing a little planning:
  141.  
  142.             FILE     ASC                     description line1
  143.             FILE     COM|                    description line2
  144.             FILE.    COM|                    description line3
  145.  
  146.             Notice the use of "|" to make sure they are sorted in the correct
  147.             order.  Another approach is to add the multiple line descriptions
  148.             after you see how the lines will be sorted (making sure that your
  149.             descriptions won't change the sort order).
  150.             The solution is different for date-sorted directories. SYSRTRD.EXE
  151.             sorts on the date and (if the dates are the same) on the right side
  152.             of the line.  Unless care is taken this may separate files you
  153.             want to keep together. If you want to keep files with the same name
  154.             together, sort the dir alphabetically before date-sorting it.  Then
  155.             make sure your multiple line description lines are in alphabetical
  156.             order.  The easiest way to do this is to space over each succeeding
  157.             line:
  158.  
  159.             FILE     ASC        01-01-85          description line one
  160.             FILE     COM        01-01-85         description line two
  161.             FILE     DOC        01-01-85        description line three
  162.  
  163.  
  164.       USORT MASTER
  165.             Using USORT.EXE will move up all your headers to the
  166.             beginning of the file.  For this reason USORT.EXE is not
  167.             used in regular RBBS dir maintenance.  USORT.EXE, unlike
  168.             the other programs in this set, does not replace your
  169.             infile but rather puts its output in a file with the same
  170.             name but with the extension .SRT (e.g. MASTER.SRT).
  171.             MASTER.SRT will have all the various headers from your
  172.             RBBS sub-directories piled up at the beginning. You can then
  173.             use an editor to remove them and add a new header for your
  174.             master directory. Save two versions, one for your
  175.             alphabetical dir one for your date-sorted dir, each with the
  176.             appropriate header. (See #1 above for info about header.) Delete
  177.             MASTER.* and then run SYSRTA.EXE and SYSRTRD.EXE on the two
  178.             files. don't forget which is the date and which the alpha file.
  179.  
  180.        At this point you may have duplicate entries for some files (if they
  181.        were listed in more than one RBBS sub-directory).  You will need to
  182.        use an editor to remove them. I hope to have a program that will do this
  183.        for you in the near future (RMDUPES.EXE).
  184.  
  185.        These steps will only have to be done once.  Once you have master
  186.        directories, MAINTAIN.BAT will keep them up to date.
  187.  
  188. Once you have done these, the utilities will take care of almost
  189. all of your RBBS Directory maintenance.
  190.  
  191. WARNINGS:
  192.  
  193. 1.   The utilities have several expectations and may get a little crazy
  194. if they are not met.  See the section above "THE FIRST TIME:" for a
  195. description of the necessary conditions.
  196.  
  197. 2.   The maximum file handled by these utilities is a little over 50k.
  198. VERY bad things could happen if you try to process a file larger than
  199. this.  Future releases will exit gracefully if a file is too large. Be
  200. warned - this release will not.  The batch file MAINTAIN.BAT will
  201. show you the file size before working on the file. Abort with CTRL-C if
  202. the file is too large.  (This pause and warning occur only for your
  203. master file lists - it is assumed that your RBBS sub-directories are
  204. less than 50k.)
  205.  
  206. 3.   The dates in dir99 are the dates the files were uploaded. If these
  207. dates go in the sub-directories a while after they were uploaded, users
  208. who try to get a listing of new files with the N(ew) command will not
  209. hear about them if they called while the files were on dir99.  The next
  210. release of these utilities will correct this by putting the current
  211. system date into each line of dir99 when the update is done.
  212.  
  213. 4.   The batch file uses dir0 as a temporary holding file for the dir99
  214. header.  If you have a dir0, either rename it or change the line in the
  215. batch file.  It (the filename used by MAINTAIN.BAT) should have a "dir"
  216. prefix so you can "strew" to it.
  217.  
  218. WHAT THE UTILITIES DO:
  219.      The utilities DO NOT touch your dir headers as long as the first
  220. character of each line of the header has an ASCII value less than
  221. 48 (space . * | = + are all ok). The sort utilities SYSRTA.EXE and
  222. SYSRTRD.EXE report the number of files in each dir (ignoring the header,
  223. if any). 50k limit on file size. DON'T use them on larger files.
  224.  
  225.      The EXP.EXE program will automatically expand the filenames
  226. in a dir file so that all the extensions line up:
  227.  
  228. FILE.EXE
  229. FILE.C
  230. FILENAME.DOC
  231.  
  232. will change to
  233.  
  234. FILE     EXE
  235. FILE     D
  236. FILENAME DOC
  237.  
  238. The rest of the line will not be changed.
  239.  
  240. STREW.EXE is a utility for sending dir99 entries to your RBBS
  241. sub-directories.  It is not included in this set of utilities since I
  242. did not write it.  Future releases of these utilities may have something
  243. like STREW built in.  For now, the utilities will not work well without
  244. it and if you don't have it you can download it from the Terrapin
  245. Station RBBS (see hours and number above).  Using STREW.EXE with these
  246. utilities is described below.
  247.  
  248. SYSRTA.EXE is an alphabetical sort that ignores case and does not touch your
  249. dir header (if any). It sorts files in memory and will hold files up to 50k.
  250. Bad craziness may result if you try to sort a file larger than this.
  251. MAINTAIN.BAT will show you the file size and warn you about this. Use
  252. CTRL-C to abort if the file size is too big.  If this file size is a problem
  253. there may be several solutions:
  254.  
  255.      1. Use V. Buerg's sort filter (sortf.lbr available from Terrapin BBS).
  256.      2. Split the file into parts.
  257.      3. Wait for me or someone else to compile the utilities with a large
  258.         memory model compiler.
  259.      4. Wait for me to write a program that will split the file into parts,
  260.         perform the maintenance, then merge-sort it back to the master
  261.         file (not likely to happen any time soon).
  262.      5. Punt.
  263.  
  264. SYSRTRD.EXE sorts in reverse date order so the new files appear at the top
  265. of the list.  SYSRTRD.EXE assumes that a "-" is used as the date separator.
  266. If you have used something else SYSRTRD.EXE will not work unless you use
  267. an editor to change to a '-'.  SYSRTRD.EXE will behave unpredictably if
  268. another delimiter is used.  SYSRTRD.EXE assumes the date is in standard
  269. MM-DD-YY form but is smart enough to put 01-01-85 above 09-09-84 and changes
  270. 1-20-85 to 01-20-85.
  271. 50k limit here too.
  272.  
  273. GETHED.EXE extracts the header from dir99 and places it in a file called
  274. DIR99.HED.  This is so DIR99.HED can be copied to DIR99 and DIR99.HED
  275. deleted at the end of the batch file.  This leaves a new, empty DIR99
  276. for new uploads.
  277. 50k file limit.
  278.  
  279. USORT.EXE is a standard alphabetical sort utility except that it ignores
  280. upper and lower case. It DOES NOT ignore header material and therefore
  281. should not be used unless you want your header sorted in with the rest
  282. of your file.  It is handy for sorting a book index or other alphabetical
  283. list where you want upper and lower case entries treated the same.
  284.      Its use in creating a master directory the first time is described
  285. in the section above (THE FIRST TIME:).  Another use for USORT would be
  286. to help get rid of the headers in a file with multiple headers spread
  287. through it.  Usort would move them all to the front of the file where
  288. they could easily be removed. 50k file limit.
  289.  
  290. MAINTAIN.BAT is the batch file that takes care of business for you. It is
  291. invoked with MAINTAIN ALPHADIR DATEDIR.
  292.  
  293. Here is what it looks like:
  294.  
  295. echo on
  296. cls
  297. rem               RBBS File Maintenance Batch File
  298. rem                             .
  299. rem               from Dr. Bob's Utilities
  300. rem                             .
  301. rem                             .
  302. rem               call with MAINTAIN ALPHADIR DATEDIR
  303. rem               where ALPHADIR is the name of your master alphabetical dir
  304. rem               and   DATEDIR is the name of your master date-sorted dir
  305. rem                             .
  306. rem               e.g.  MAINTAIN DIR90 DIR91
  307. rem                             .
  308. pause
  309. exp dir99
  310. copy dir99 dir99.bak
  311. gethed dir99
  312. copy dir99.hed dir0
  313. del dir99.hed
  314. strew rbbs
  315. sysrta dir10 dir20 dir30  ...put the names of your RBBS sub-directories here
  316. dir %1
  317. pause            ABORT IF SIZE of %1 is > 50,000
  318. sysrta %1
  319. dir %2
  320. pause            ABORT IF SIZE of %2 is > 50,000
  321. sysrtrd %2
  322. rename dir0 dir99
  323. pause            About to delete dir99.bak  (abort with Ctrl-C)
  324. del dir99.bak
  325. rename dir0 dir99
  326.  
  327. CHANGING MAINTAIN.BAT
  328.  
  329.      MAINTAIN.BAT can be changed with edlin, FRED, or any ASCII
  330. oriented text editor.
  331.  
  332. BE SURE TO CHANGE the line with DIR10 DIR20 DIR30 so that it
  333. contains the names of your RBBS sub-directories.  You can use
  334. several lines if necessary as long as each starts with SYSRTA.
  335. If you would rather have your sub-directories in reverse date order,
  336. change sysrta to sysrtrd in the batch file.
  337.  
  338. If you do not want to have a date-sorted directory, simply delete all
  339. lines with %2 in them and use MAINTAIN ALPHADIR to start up.
  340. (Replace "ALPHADIR" with the name of your dir.)
  341.  
  342. If you do not want to have an alpha-sorted directory, delete all lines
  343. with %1 in them and change "%2" to "%1" wherever it appears. Use
  344. MAINTAIN DATEDIR to start up. (Replace "DATEDIR" with the name of your dir.)
  345.  
  346. If you want all your RBBS sub-directories in reverse date order, use
  347. SYSRTRD.EXE to sort all of them.
  348.  
  349. If you don't want the filename expanded, remove the line with exp.
  350.  
  351. If you feel daring, remove the "PAUSE" statements
  352.  
  353.  
  354. USING STREW WITH THESE UTILITIES:
  355.      STREW.EXE will let you specify RBBS-sub-directories to send the new
  356. files in dir99 to.  Type C  to configure strew and specify RBBS as the
  357. name of the config file.  Specify DIR99 as the upload directory and
  358. specify the prefix for the RBBS sub-directories (usually DIR).
  359.      IMPORTANT: specify the names of your two master directories,
  360. (or one if you only want one) as the default files to "strew" to.
  361. For example, if DIR90 and DIR91 are your two master directories, specify
  362. 90,91 as the default file to strew to and DIR as the default prefix. This
  363. will automatically append all the new files to the end of the two master
  364. directories.
  365.      You may want to increase the size of the "strew" field in STREW if
  366. you will be "strewing" the file to several different directories.
  367.      If you would like to leave some files in dir99 instead of sending
  368. them to RBBS sub-directories, simply "strew" them  to dir0.  Dir0
  369. is a temporary file holding the dir99 header. It is later renamed
  370. to dir99.
  371.  
  372.  
  373. ABOUT THE SORT ALGORITHM:
  374.      These utilities use a modified quicksort algorithm to sort the lines
  375. of each file.  The lines are read into a continuous buffer and, as they
  376. are read, an array of pointers is set to point to the beginnings of the
  377. lines.  The sort function calls the compare and swap functions. The swap
  378. function swaps the pointers to the two lines, leaving the lines where they
  379. are.  The compare function is tailored to the particular sorting task.
  380. I'm not sure, but I think the quicksort is also modified to improve
  381. performance on a file which is already mostly sorted (as most RBBS files
  382. are).  Future releases will probably have a single sort program which
  383. accepts flags on the command line that will determine its behavior.
  384. e.g.  SYSORT /HRD DIR90
  385. would sort DIR90 in reverse date order and ignore headers.
  386.  
  387. WHAT'S LEFT FOR YOU TO DO:
  388.      You will still have to tell STREW which directories to send the
  389. files to.
  390.      MAINTAIN will take care of all the normal RBBS DIR maintenance
  391. I know of except that it does not update the message in your header
  392. (if any) giving the number of files and the date of revision.  If
  393. everyone will agree to put a line like the following as line three
  394. of the header:
  395.  
  396. *      Contains ### Files - Last Update ##-##-##...                        *
  397.  
  398. and let me know that this is ok, I will have the new version replace this
  399. line with the correct info. (It won't touch the border, it will just go
  400. to the third line, move over a few spaces and punch in the message with
  401. a few leading and trailing spaces for good measure.)
  402.  
  403. EXAMPLE HEADER:
  404. ******************************************************************************
  405. *                       Directory 90 - Lists all files                       *
  406. *                 Contains ### Files - Last Update ##-##-##                  *
  407. *                           Reverse Date Order                               *
  408. ******************************************************************************
  409.  
  410. have fun,
  411.  
  412.  
  413. Dr. Bob     aka Bob Ray  (leave Terrapin BBS messages for Bob Ray)
  414.                           **  see hours and number above **
  415.  
  416. ***************************************************************************
  417.  
  418.